/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cpal.entrenamiento.dao.impl;

import com.cpal.entrenamiento.dao.IEstructuraDAO;
import com.cpal.entrenamiento.entity.Estructura;
import com.cpal.entrenamiento.entity.RimaColumna;
import java.util.HashMap;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author onoel
 */
@Repository
public class EstructuraDAO extends SqlMapClientDaoSupport implements IEstructuraDAO {

    @Override
    public Integer insertarEstructura(RimaColumna rimeColumna) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigoPlantilla", 1);
        parameterMap.put("descripcion", rimeColumna.getDescripcion());
        parameterMap.put("estado", rimeColumna.getEstado());
        parameterMap.put("usuario", 1);
        parameterMap.put("fechaCreacion", new java.sql.Timestamp(new java.util.Date().getTime()));
        parameterMap.put("codigo", null);

        getSqlMapClientTemplate().insert("insertarEstructura", parameterMap);
        
        return (Integer)parameterMap.get("codigo");
    }

    @Override
    public void actualizarEstructura(RimaColumna rimeColumna) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigo", rimeColumna.getCodigo());
        parameterMap.put("codigoPlantilla", rimeColumna.getPlantilla().getCodigo());
        parameterMap.put("descripcion", rimeColumna.getDescripcion());
        parameterMap.put("estado", rimeColumna.getEstado());
        parameterMap.put("usuario", 1);
        parameterMap.put("fechaModificacion", new java.sql.Date(new java.util.Date().getTime()));

        getSqlMapClientTemplate().insert("actualizarEstructura", parameterMap);
    }

    @Override
    public Estructura lastInsert() throws DataAccessException {
        return (Estructura) getSqlMapClientTemplate().queryForObject("lastInsert");
    }
}
